package fantasma.tipos;

import utilidades.Constantes;
import fantasma.Fantasma;
import interfaces.IPacman;
import laberinto.Casilla;
import laberinto.NullCasilla;

public class FantasmaBuscadorTemperamental extends Fantasma{
	private float alcanceDeVision = 12;
	private Casilla ultimaCasillaConocidaDelPacman = new NullCasilla();
	public FantasmaBuscadorTemperamental(Casilla casillaInicial,String estrategia) {
		super(casillaInicial, estrategia);
	}
	

	public FantasmaBuscadorTemperamental(String estrategia) {
		super(estrategia);
	}	

	@Override
	public void mover(IPacman pacman){
		this.estado.moverComoBuscadorTemperamental(this,pacman);
	} 	
	
	public float obtenerAlcanceDeVision(){
		return Math.round(alcanceDeVision + Constantes.FACTOR_TEMPERAMENTAL * this.estado.obtenerIra());
	}
	
	@Override
	public String obtenerPersonalidad() {
		return "Buscador Temperamental";
	}
	
	public String obtenerColor(){
		return "red";
	}
	
	public Casilla obtenerUltimaCasillaConocidaDelPacman(){
		return ultimaCasillaConocidaDelPacman;
	}
	
	public void modificarUltimaCasillaConocidaDelPacman(Casilla casillaDelPacman){
		ultimaCasillaConocidaDelPacman = casillaDelPacman;
	}
}